home *** CD-ROM | disk | FTP | other *** search
/ Programming a Multiplayer FPS in DirectX / Programming a Multiplayer FPS in DirectX (Companion CD).iso / DirectX / dxsdk_oct2004.exe / dxsdk.exe / Samples / C++ / Direct3D / ConfigSystem / configmanager.h < prev    next >
Encoding:
C/C++ Source or Header  |  2004-09-28  |  3.6 KB  |  107 lines

  1. //--------------------------------------------------------------------------------------
  2. // File: ConfigManager.h
  3. //
  4. // Header file containing configuration-related declarations.
  5. //
  6. // Copyright (c) Microsoft Corporation. All rights reserved.
  7. //--------------------------------------------------------------------------------------
  8. #pragma once
  9. #ifndef __CONFIGMANAGER_H__
  10. #define __CONFIGMANAGER_H__
  11.  
  12.  
  13. HRESULT GetDXVersion( DWORD* pdwDirectXVersionMajor, DWORD* pdwDirectXVersionMinor, WCHAR* pcDirectXVersionLetter );
  14.  
  15.  
  16. //--------------------------------------------------------------------------------------
  17. // Class CConfigManager encapsulates configuration flags and methods for loading
  18. // these flags.
  19. //--------------------------------------------------------------------------------------
  20. class CConfigManager
  21. {
  22. public:
  23.     // Configuration Flags
  24.     // These flags are initialized from device detection result and the configuration
  25.     // database file.
  26.  
  27.     DWORD cf_ForceShader;
  28.     DWORD cf_MaximumResolution;
  29.     DWORD cf_LinearTextureAddressing;
  30.     DWORD cf_UseFixedFunction;
  31.     DWORD cf_DisableSpecular;
  32.     DWORD cf_PrototypeCard;
  33.     DWORD cf_UnsupportedCard;
  34.     DWORD cf_OldDriver;
  35.     DWORD cf_OldSoundDriver;
  36.     DWORD cf_InvalidDriver;
  37.     DWORD cf_InvalidSoundDriver;
  38.     DWORD cf_SafeMode;
  39.     DWORD cf_UseAnisotropicFilter;
  40.     DWORD cf_DisableDriverManagement;
  41.     DWORD cf_DisableRenderTargets;
  42.     DWORD cf_DisableAlphaRenderTargets;
  43.     DWORD cf_DoNotUseMinMaxBlendOp;
  44.     DWORD cf_EnableStopStart;
  45.     char* VendorName;
  46.     char* DeviceName;
  47.     DWORD DeviceID;
  48.     DWORD VendorID;
  49.     DWORD DriverVersionLowPart;
  50.     DWORD DriverVersionHighPart;
  51.     DWORD SysMemory;
  52.     DWORD CpuSpeed;
  53.     DWORD VideoMemory;
  54.     char* AppendText;
  55.     SOUND_DEVICE Sound_device;
  56.     DWORD req_CPUSpeed;
  57.     DWORD req_Memory;
  58.     DWORD req_VideoMemory;
  59.     DWORD req_DirectXMajor;
  60.     DWORD req_DirectXMinor;
  61.     int   req_DirectXLetter;
  62.     DWORD req_DiskSpace;
  63.     DWORD req_OSMajor;
  64.     DWORD req_OSMinor;
  65.  
  66. public:
  67.     CConfigManager();
  68.     void InitConfigProperties();
  69.     void InitConfigInformation( D3DCAPS9 &d3dCaps );
  70.     HRESULT VerifyRequirements();
  71.     HRESULT Initialize( WCHAR* FileName, D3DADAPTER_IDENTIFIER9 &id, D3DCAPS9 &Caps,
  72.                         REFGUID DSoundDeviceGuid );
  73.     bool InitMaximumResolution( const char* value );
  74.     bool InitForceShader( const char* value );
  75.     bool InitDisableBuffering( const char* value );
  76.     bool InitLinearTextureAddressing( const char* value );
  77.     bool InitUseAnisotropicFilter( const char* value );
  78.     bool InitDisableSpecular( const char* value );
  79.     bool InitUseFixedFunction( const char* value );
  80.     bool InitDisableRenderTargets( const char* value );
  81.     bool InitDisableAlphaRenderTargets( const char* value );
  82.     bool InitPrototypeCard( const char* value );
  83.     bool InitUnsupportedCard( const char* value );
  84.     bool InitOldDriver( const char* value );
  85.     bool InitEnableStopStart( const char* value );
  86.     bool InitOldSoundDriver( const char* value );
  87.     bool InitInvalidDriver( const char* value );
  88.     bool InitInvalidSoundDriver( const char* value );
  89.     bool InitSafeMode( const char* value );
  90.     bool InitDisableDriverManagement( const char* value );
  91.     bool InitUMA( const char* value );
  92.     bool InitDoNotUseMinMaxBlendOp( const char* value );
  93.  
  94.     typedef struct
  95.     {
  96.         GUID guid;
  97.         char DriverName[32];
  98.         DWORD MemorySize;
  99.     } VIDEODEVICES;
  100.  
  101.     VIDEODEVICES m_AdapterArray[10];  // Maximum 10 devices supported
  102.     int m_nAdapterCount;
  103. };
  104.  
  105.  
  106. #endif
  107.